package com.wjw.java.basic.constructor_;

/**
 * 构造器(构造方法)：主要用于完成对象的初始化
 * 修饰符 方法名(与类名相同) (形参列表){
 *
 * }
 * -------------------------------------------------------------
 * 构造器细节：
 * 1.构造器没有返回值
 * 2.方法名和类名必须一致
 * 3.访问修饰符可以是：public default(什么都不写) protected private
 * 4.一个类可以定义多个重载的构造器
 * 5.构造器是完成对象的初始化,并不是创建对象,
 *   调用构造器的时候,堆内存空间已经开辟好了,它只是为了初始化堆中对象的属性
 * 6.如果没有定义构造器,系统会生成一个默认的无参构造
 * 7.如果定义了构造器,默认的无参构造会被覆盖,如果要使用默认构造器,需手动写一个
 * -------------------------------------------------------------
 */
public class Constructor {
    int age = 20;
    String name;

    //无参构造：如果没有定义构造器,系统会生成一个默认的无参构造
    public Constructor() {

    }
    //有参构造:如果定义了构造器,默认的无参构造会被覆盖,如果要使用默认构造器,需手动写一个
    public Constructor(int age, String name) {
        this.age = age;
        this.name = name;
    }

    public static void main(String[] args) {
        Constructor c = new Constructor(30,"帅哥");
    }
}
